package com.unittec.zk.sdk.work.request;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * 车辆信息-增/改 请求实体
 *
 * @author wangyongfeng
 * @date 2021/12/15
 */
@ApiModel("车辆信息-增/改 请求实体")
@Data
public class Req202002 implements Serializable {

    private static final long serialVersionUID = 3203978680319296579L;

    /**
     * 主键id
     */
    @ApiModelProperty("id")
    private String id;

    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号", required = true)
    @NotBlank(message = "请输入车牌号")
    @Size(max = 20, message = "车牌号不超不20个字符")
    private String truckNumber;

    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌", required = true)
    @NotBlank(message = "请输入车俩品牌")
    @Size(max = 20, message = "车俩品牌不超不20个字符")
    private String truckBrand;

    /**
     * 车辆类型（1轿车 2SUV 3MPV 4货车）
     */
    @ApiModelProperty(value = "车辆类型（1轿车 2SUV 3MPV 4货车）")
    private Integer truckType;

    /**
     * 是否在库（1在库 2不在库）
     */
    @ApiModelProperty(value = "是否在库（1在库 2不在库）")
    private Integer isHere;

    /**
     * 车辆状态（1正常 2维修中 3已报废）
     */
    @ApiModelProperty(value = "车辆状态（1正常 2维修中 3已报废）")
    private Integer state;

    /**
     * 荷载人数
     */
    @ApiModelProperty(value = "荷载人数")
    @Min(value = 1, message = "荷载人数不能小于1")
    @Max(value = Integer.MAX_VALUE, message = "请正确输入荷载人数")
    private Integer maxPassengers;

    /**
     * 购置日期
     */
    @ApiModelProperty(value = "购置日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date buyTime;

    /**
     * 车辆图片
     */
    @ApiModelProperty(value = "车辆图片")
    private String imageUrl;

    /**
     * 发动机号码
     */
    @ApiModelProperty(value = "发动机号码")
    @Size(max = 200, message = "发动机号码不超过200个字符")
    private String engineNumber;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @Size(max = 500, message = "备注不超过500个字符")
    private String remarks;
}
